package com.fg.cloud.manager.mapper.agency;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.fg.cloud.common.construction.Select;
import com.fg.cloud.manager.entry.agency.AgencyLevelEntity;
import com.fg.cloud.manager.mapper.BaseMapper;

/**
 * 经销商-等级
 * @author around
 * @date 2017-6-22
 */
public interface AgencyLevelMapper extends BaseMapper {
	
    int deleteByPrimaryKey(Long id);

    AgencyLevelEntity selectByPrimaryKey(Long id);
    
    /**
     * 根据厂商ID查询经销商等级数据
     * @param facId
     * @return
     */
    @org.apache.ibatis.annotations.Select("select id as id, name as label, id as value "
    		+ "from t_agency_level where status <> -1 and facId = #{facId} "
    		+ "order by id asc")
    List<Select> selectLevelByFacId(Long facId);
    
    /**
     * Description:根据过滤字段筛选经销商等级哪些是被引用的
     * 其中：id=1是被引用，id=0是没有被引用
     * @param facId
     * @param filter
     * @return
     * @author around
     * @date 2017年10月11日下午3:59:39
     */
    List<Select> selectListBySelect(@Param("facId")Long facId, @Param("filter")String filter);
    
    /**
     * Description:标准修改经销商等级内容
     * @param userId 用户ID
     * @param facId 厂商ID
     * @param ids
     * @param status 状态
     * @return long
     * @author around
     * @date 2017年8月9日上午11:30:02
     */
    long updateStatus(@Param ("userId")Long userId,@Param("facId") Long facId, 
    		@Param ("ids")Long[] ids, @Param ("status")Integer status);
    
    /**
     * Description:验证唯一性
     * @param id
     * @param facId
     * @param name
     * @return
     * @author around
     * @date 2017年8月27日下午5:34:25
     */
    long verifyUniquely(@Param("id")Long id, @Param("facId")Long facId, 
    		@Param("name")String name);
    
    Long selectId(@Param("str")String str, @Param("facId")Long facId);
    
}